// pages/comment/comment.js

const db = wx.cloud.database(); // 初始化

Page({

  /**
   * 页面的初始数据
   */
  data: {
    detail :{},
    content: '', // 评价的内容
    score:5, // 评价的分数
    images:[], // 上传的图片
    fileIds:[], // 文件id
    movieId: -1
  },

  // 监听输入框方法
  onContentChange:function (event) {
      this.setData({
        content:event.detail
      });
  },

  // 监听评价分数方法
  onScoreChange:function (event) {
      this.setData({
        score:event.score
      })
  },

  // 点击选择上传图片按钮方法
  uploadImg:function () {
      // 选择上传图片
      wx.chooseImage({
        count :9,
        sizeType:['original','compressed'],
        sourceType:['album','camera'],
        success: res => {
          // tempFilePath可以作为img标签的src属性显示图片
          const tempFilePaths =res.tempFilePaths
          console.log(tempFilePaths);
          this.setData({
            images: this.data.images.concat(tempFilePaths) 
          });
        },
      })
  },

  // 点击提交按钮方法
  submit:function () {
    console.log(this.data.content);

    wx.showLoading({
      title: '评论中',
    })

    // 上传图片到云存储
    let promiseArr = [];
    for (let i = 0 ; i < this.data.images.length; i ++) {
      promiseArr.push(new Promise((reslovie,reject) => {

        let item = this.data.images[i];
        let suffix = /\.\w+$/.exec(item)[0]; // 正则表达式，返回文件扩展名
        wx.cloud.uploadFile({
          cloudPath: new Date().getTime() + suffix, // 上传至云端的路径
          filePath: item, // 小程序临时文件路径
          success: res => {
            // 返回文件 ID
            console.log(res.fileID)
            this.setData ({
              fileIds: this.data.fileIds.concat(res.fileID)

            })
            reslovie();
          },
          fail: console.error
        })
      }));
    }

    Promise.all(promiseArr).then(res => {

      data : {
        // 插入数据
        db.collection('comment').add;
        score: this.data.score;
        movieid: this.data.movieid;
        fileIds: this.data.fileIds;
      }
      
    }).then(res => {
      wx.hideLoading();
      wx.showToast({
        title: '评价成功',
      })
    }).catch(res => {
      wx.hideLoading();
      wx.showToast({
        title: '评价失败',
      })
    })

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log(options);

    // 设置标题
    wx.setNavigationBarTitle({
      title: '详情',
    })


    this.setData({
      movieId:options.movieid
    });

    // 添加加载框
    wx.showLoading({
      title: '加载中',
    })

    // 调用云函数
    wx.cloud.callFunction({
      name: 'getDetail',
      data: {
        movieid:options.movieid
      }
    }).then(res => {

      // 打印请求成功的回调信息
      console.log(res);

      // 解析数据
      this.setData({
        detail: res.result
      });

      // 隐藏加载框
      wx.hideLoading();
    }).catch(err => {
      console.error(err);
      wx.hideLoading();
    })


  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})